/**********************************************
* @file    	systick.h
* @author 	dralee
* @version	v1.0
* @date			2021-12-01
* @brief		系统定时器
***********************************************/
#ifndef __SYSTICK_H
#define __SYSTICK_H

#include "stm32f10x.h"

/**
 *****************************************
 * @brief 配置系统定时器，由于中断1微秒没
 *	意义，配置成10us
 * @param 无
 * @retval 无
 *****************************************/
void SysTick_Init(void);

/**
 *****************************************
 * @brief 延时指定10微秒数【中断方式】
 * @param xus 微秒数，以10us为单位
 * @retval 无
 *****************************************/
void Delay_xus(__IO uint32_t xus);

/**
 *****************************************
 * @brief 延时指定微秒【中断方式】
 * @param us 微秒数
 * @retval 无
 *****************************************/
#define Delay_us(us) Delay_xus(us/10+(us%10==0?0:1))

/**
 *****************************************
 * @brief 延时指定毫秒【中断方式】
 * @param ms 毫秒数
 * @retval 无
 *****************************************/
#define Delay_ms(ms) Delay_us(1000*ms)

/**
 *****************************************
 * @brief 延时指定微秒【查询方式】
 * @param us 微秒数
 * @retval 无
 *****************************************/
void SysTick_Delay_us(__IO uint32_t us);

/**
 *****************************************
 * @brief 延时指定毫秒【查询方式】
 * @param ms 毫秒数
 * @retval 无
 *****************************************/
void SysTick_Delay_ms(__IO uint32_t ms);

#endif //end __SYSTICK_H
